package com.qianfeng.smartplatform.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DeviceExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DeviceExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andDeviceIdIsNull() {
            addCriterion("device_id is null");
            return (Criteria) this;
        }

        public Criteria andDeviceIdIsNotNull() {
            addCriterion("device_id is not null");
            return (Criteria) this;
        }

        public Criteria andDeviceIdEqualTo(String value) {
            addCriterion("device_id =", value, "deviceId");
            return (Criteria) this;
        }

        public Criteria andDeviceIdNotEqualTo(String value) {
            addCriterion("device_id <>", value, "deviceId");
            return (Criteria) this;
        }

        public Criteria andDeviceIdGreaterThan(String value) {
            addCriterion("device_id >", value, "deviceId");
            return (Criteria) this;
        }

        public Criteria andDeviceIdGreaterThanOrEqualTo(String value) {
            addCriterion("device_id >=", value, "deviceId");
            return (Criteria) this;
        }

        public Criteria andDeviceIdLessThan(String value) {
            addCriterion("device_id <", value, "deviceId");
            return (Criteria) this;
        }

        public Criteria andDeviceIdLessThanOrEqualTo(String value) {
            addCriterion("device_id <=", value, "deviceId");
            return (Criteria) this;
        }

        public Criteria andDeviceIdLike(String value) {
            addCriterion("device_id like", value, "deviceId");
            return (Criteria) this;
        }

        public Criteria andDeviceIdNotLike(String value) {
            addCriterion("device_id not like", value, "deviceId");
            return (Criteria) this;
        }

        public Criteria andDeviceIdIn(List<String> values) {
            addCriterion("device_id in", values, "deviceId");
            return (Criteria) this;
        }

        public Criteria andDeviceIdNotIn(List<String> values) {
            addCriterion("device_id not in", values, "deviceId");
            return (Criteria) this;
        }

        public Criteria andDeviceIdBetween(String value1, String value2) {
            addCriterion("device_id between", value1, value2, "deviceId");
            return (Criteria) this;
        }

        public Criteria andDeviceIdNotBetween(String value1, String value2) {
            addCriterion("device_id not between", value1, value2, "deviceId");
            return (Criteria) this;
        }

        public Criteria andDeviceNameIsNull() {
            addCriterion("device_name is null");
            return (Criteria) this;
        }

        public Criteria andDeviceNameIsNotNull() {
            addCriterion("device_name is not null");
            return (Criteria) this;
        }

        public Criteria andDeviceNameEqualTo(String value) {
            addCriterion("device_name =", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameNotEqualTo(String value) {
            addCriterion("device_name <>", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameGreaterThan(String value) {
            addCriterion("device_name >", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameGreaterThanOrEqualTo(String value) {
            addCriterion("device_name >=", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameLessThan(String value) {
            addCriterion("device_name <", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameLessThanOrEqualTo(String value) {
            addCriterion("device_name <=", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameLike(String value) {
            addCriterion("device_name like", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameNotLike(String value) {
            addCriterion("device_name not like", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameIn(List<String> values) {
            addCriterion("device_name in", values, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameNotIn(List<String> values) {
            addCriterion("device_name not in", values, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameBetween(String value1, String value2) {
            addCriterion("device_name between", value1, value2, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameNotBetween(String value1, String value2) {
            addCriterion("device_name not between", value1, value2, "deviceName");
            return (Criteria) this;
        }

        public Criteria andCategyIdIsNull() {
            addCriterion("categy_id is null");
            return (Criteria) this;
        }

        public Criteria andCategyIdIsNotNull() {
            addCriterion("categy_id is not null");
            return (Criteria) this;
        }

        public Criteria andCategyIdEqualTo(Integer value) {
            addCriterion("categy_id =", value, "categyId");
            return (Criteria) this;
        }

        public Criteria andCategyIdNotEqualTo(Integer value) {
            addCriterion("categy_id <>", value, "categyId");
            return (Criteria) this;
        }

        public Criteria andCategyIdGreaterThan(Integer value) {
            addCriterion("categy_id >", value, "categyId");
            return (Criteria) this;
        }

        public Criteria andCategyIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("categy_id >=", value, "categyId");
            return (Criteria) this;
        }

        public Criteria andCategyIdLessThan(Integer value) {
            addCriterion("categy_id <", value, "categyId");
            return (Criteria) this;
        }

        public Criteria andCategyIdLessThanOrEqualTo(Integer value) {
            addCriterion("categy_id <=", value, "categyId");
            return (Criteria) this;
        }

        public Criteria andCategyIdIn(List<Integer> values) {
            addCriterion("categy_id in", values, "categyId");
            return (Criteria) this;
        }

        public Criteria andCategyIdNotIn(List<Integer> values) {
            addCriterion("categy_id not in", values, "categyId");
            return (Criteria) this;
        }

        public Criteria andCategyIdBetween(Integer value1, Integer value2) {
            addCriterion("categy_id between", value1, value2, "categyId");
            return (Criteria) this;
        }

        public Criteria andCategyIdNotBetween(Integer value1, Integer value2) {
            addCriterion("categy_id not between", value1, value2, "categyId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdIsNull() {
            addCriterion("bind_user_id is null");
            return (Criteria) this;
        }

        public Criteria andBindUserIdIsNotNull() {
            addCriterion("bind_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andBindUserIdEqualTo(Integer value) {
            addCriterion("bind_user_id =", value, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdNotEqualTo(Integer value) {
            addCriterion("bind_user_id <>", value, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdGreaterThan(Integer value) {
            addCriterion("bind_user_id >", value, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("bind_user_id >=", value, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdLessThan(Integer value) {
            addCriterion("bind_user_id <", value, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("bind_user_id <=", value, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdIn(List<Integer> values) {
            addCriterion("bind_user_id in", values, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdNotIn(List<Integer> values) {
            addCriterion("bind_user_id not in", values, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdBetween(Integer value1, Integer value2) {
            addCriterion("bind_user_id between", value1, value2, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("bind_user_id not between", value1, value2, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andSceneIdIsNull() {
            addCriterion("scene_id is null");
            return (Criteria) this;
        }

        public Criteria andSceneIdIsNotNull() {
            addCriterion("scene_id is not null");
            return (Criteria) this;
        }

        public Criteria andSceneIdEqualTo(Long value) {
            addCriterion("scene_id =", value, "sceneId");
            return (Criteria) this;
        }

        public Criteria andSceneIdNotEqualTo(Long value) {
            addCriterion("scene_id <>", value, "sceneId");
            return (Criteria) this;
        }

        public Criteria andSceneIdGreaterThan(Long value) {
            addCriterion("scene_id >", value, "sceneId");
            return (Criteria) this;
        }

        public Criteria andSceneIdGreaterThanOrEqualTo(Long value) {
            addCriterion("scene_id >=", value, "sceneId");
            return (Criteria) this;
        }

        public Criteria andSceneIdLessThan(Long value) {
            addCriterion("scene_id <", value, "sceneId");
            return (Criteria) this;
        }

        public Criteria andSceneIdLessThanOrEqualTo(Long value) {
            addCriterion("scene_id <=", value, "sceneId");
            return (Criteria) this;
        }

        public Criteria andSceneIdIn(List<Long> values) {
            addCriterion("scene_id in", values, "sceneId");
            return (Criteria) this;
        }

        public Criteria andSceneIdNotIn(List<Long> values) {
            addCriterion("scene_id not in", values, "sceneId");
            return (Criteria) this;
        }

        public Criteria andSceneIdBetween(Long value1, Long value2) {
            addCriterion("scene_id between", value1, value2, "sceneId");
            return (Criteria) this;
        }

        public Criteria andSceneIdNotBetween(Long value1, Long value2) {
            addCriterion("scene_id not between", value1, value2, "sceneId");
            return (Criteria) this;
        }

        public Criteria andBindTimeIsNull() {
            addCriterion("bind_time is null");
            return (Criteria) this;
        }

        public Criteria andBindTimeIsNotNull() {
            addCriterion("bind_time is not null");
            return (Criteria) this;
        }

        public Criteria andBindTimeEqualTo(Date value) {
            addCriterion("bind_time =", value, "bindTime");
            return (Criteria) this;
        }

        public Criteria andBindTimeNotEqualTo(Date value) {
            addCriterion("bind_time <>", value, "bindTime");
            return (Criteria) this;
        }

        public Criteria andBindTimeGreaterThan(Date value) {
            addCriterion("bind_time >", value, "bindTime");
            return (Criteria) this;
        }

        public Criteria andBindTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("bind_time >=", value, "bindTime");
            return (Criteria) this;
        }

        public Criteria andBindTimeLessThan(Date value) {
            addCriterion("bind_time <", value, "bindTime");
            return (Criteria) this;
        }

        public Criteria andBindTimeLessThanOrEqualTo(Date value) {
            addCriterion("bind_time <=", value, "bindTime");
            return (Criteria) this;
        }

        public Criteria andBindTimeIn(List<Date> values) {
            addCriterion("bind_time in", values, "bindTime");
            return (Criteria) this;
        }

        public Criteria andBindTimeNotIn(List<Date> values) {
            addCriterion("bind_time not in", values, "bindTime");
            return (Criteria) this;
        }

        public Criteria andBindTimeBetween(Date value1, Date value2) {
            addCriterion("bind_time between", value1, value2, "bindTime");
            return (Criteria) this;
        }

        public Criteria andBindTimeNotBetween(Date value1, Date value2) {
            addCriterion("bind_time not between", value1, value2, "bindTime");
            return (Criteria) this;
        }

        public Criteria andIsOnlineIsNull() {
            addCriterion("is_online is null");
            return (Criteria) this;
        }

        public Criteria andIsOnlineIsNotNull() {
            addCriterion("is_online is not null");
            return (Criteria) this;
        }

        public Criteria andIsOnlineEqualTo(Short value) {
            addCriterion("is_online =", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineNotEqualTo(Short value) {
            addCriterion("is_online <>", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineGreaterThan(Short value) {
            addCriterion("is_online >", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineGreaterThanOrEqualTo(Short value) {
            addCriterion("is_online >=", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineLessThan(Short value) {
            addCriterion("is_online <", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineLessThanOrEqualTo(Short value) {
            addCriterion("is_online <=", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineIn(List<Short> values) {
            addCriterion("is_online in", values, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineNotIn(List<Short> values) {
            addCriterion("is_online not in", values, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineBetween(Short value1, Short value2) {
            addCriterion("is_online between", value1, value2, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineNotBetween(Short value1, Short value2) {
            addCriterion("is_online not between", value1, value2, "isOnline");
            return (Criteria) this;
        }

        public Criteria andConnectTimeIsNull() {
            addCriterion("connect_time is null");
            return (Criteria) this;
        }

        public Criteria andConnectTimeIsNotNull() {
            addCriterion("connect_time is not null");
            return (Criteria) this;
        }

        public Criteria andConnectTimeEqualTo(Date value) {
            addCriterion("connect_time =", value, "connectTime");
            return (Criteria) this;
        }

        public Criteria andConnectTimeNotEqualTo(Date value) {
            addCriterion("connect_time <>", value, "connectTime");
            return (Criteria) this;
        }

        public Criteria andConnectTimeGreaterThan(Date value) {
            addCriterion("connect_time >", value, "connectTime");
            return (Criteria) this;
        }

        public Criteria andConnectTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("connect_time >=", value, "connectTime");
            return (Criteria) this;
        }

        public Criteria andConnectTimeLessThan(Date value) {
            addCriterion("connect_time <", value, "connectTime");
            return (Criteria) this;
        }

        public Criteria andConnectTimeLessThanOrEqualTo(Date value) {
            addCriterion("connect_time <=", value, "connectTime");
            return (Criteria) this;
        }

        public Criteria andConnectTimeIn(List<Date> values) {
            addCriterion("connect_time in", values, "connectTime");
            return (Criteria) this;
        }

        public Criteria andConnectTimeNotIn(List<Date> values) {
            addCriterion("connect_time not in", values, "connectTime");
            return (Criteria) this;
        }

        public Criteria andConnectTimeBetween(Date value1, Date value2) {
            addCriterion("connect_time between", value1, value2, "connectTime");
            return (Criteria) this;
        }

        public Criteria andConnectTimeNotBetween(Date value1, Date value2) {
            addCriterion("connect_time not between", value1, value2, "connectTime");
            return (Criteria) this;
        }

        public Criteria andLostConnectTimeIsNull() {
            addCriterion("lost_connect_time is null");
            return (Criteria) this;
        }

        public Criteria andLostConnectTimeIsNotNull() {
            addCriterion("lost_connect_time is not null");
            return (Criteria) this;
        }

        public Criteria andLostConnectTimeEqualTo(Date value) {
            addCriterion("lost_connect_time =", value, "lostConnectTime");
            return (Criteria) this;
        }

        public Criteria andLostConnectTimeNotEqualTo(Date value) {
            addCriterion("lost_connect_time <>", value, "lostConnectTime");
            return (Criteria) this;
        }

        public Criteria andLostConnectTimeGreaterThan(Date value) {
            addCriterion("lost_connect_time >", value, "lostConnectTime");
            return (Criteria) this;
        }

        public Criteria andLostConnectTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("lost_connect_time >=", value, "lostConnectTime");
            return (Criteria) this;
        }

        public Criteria andLostConnectTimeLessThan(Date value) {
            addCriterion("lost_connect_time <", value, "lostConnectTime");
            return (Criteria) this;
        }

        public Criteria andLostConnectTimeLessThanOrEqualTo(Date value) {
            addCriterion("lost_connect_time <=", value, "lostConnectTime");
            return (Criteria) this;
        }

        public Criteria andLostConnectTimeIn(List<Date> values) {
            addCriterion("lost_connect_time in", values, "lostConnectTime");
            return (Criteria) this;
        }

        public Criteria andLostConnectTimeNotIn(List<Date> values) {
            addCriterion("lost_connect_time not in", values, "lostConnectTime");
            return (Criteria) this;
        }

        public Criteria andLostConnectTimeBetween(Date value1, Date value2) {
            addCriterion("lost_connect_time between", value1, value2, "lostConnectTime");
            return (Criteria) this;
        }

        public Criteria andLostConnectTimeNotBetween(Date value1, Date value2) {
            addCriterion("lost_connect_time not between", value1, value2, "lostConnectTime");
            return (Criteria) this;
        }

        public Criteria andLastControlTimeIsNull() {
            addCriterion("last_control_time is null");
            return (Criteria) this;
        }

        public Criteria andLastControlTimeIsNotNull() {
            addCriterion("last_control_time is not null");
            return (Criteria) this;
        }

        public Criteria andLastControlTimeEqualTo(Date value) {
            addCriterion("last_control_time =", value, "lastControlTime");
            return (Criteria) this;
        }

        public Criteria andLastControlTimeNotEqualTo(Date value) {
            addCriterion("last_control_time <>", value, "lastControlTime");
            return (Criteria) this;
        }

        public Criteria andLastControlTimeGreaterThan(Date value) {
            addCriterion("last_control_time >", value, "lastControlTime");
            return (Criteria) this;
        }

        public Criteria andLastControlTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("last_control_time >=", value, "lastControlTime");
            return (Criteria) this;
        }

        public Criteria andLastControlTimeLessThan(Date value) {
            addCriterion("last_control_time <", value, "lastControlTime");
            return (Criteria) this;
        }

        public Criteria andLastControlTimeLessThanOrEqualTo(Date value) {
            addCriterion("last_control_time <=", value, "lastControlTime");
            return (Criteria) this;
        }

        public Criteria andLastControlTimeIn(List<Date> values) {
            addCriterion("last_control_time in", values, "lastControlTime");
            return (Criteria) this;
        }

        public Criteria andLastControlTimeNotIn(List<Date> values) {
            addCriterion("last_control_time not in", values, "lastControlTime");
            return (Criteria) this;
        }

        public Criteria andLastControlTimeBetween(Date value1, Date value2) {
            addCriterion("last_control_time between", value1, value2, "lastControlTime");
            return (Criteria) this;
        }

        public Criteria andLastControlTimeNotBetween(Date value1, Date value2) {
            addCriterion("last_control_time not between", value1, value2, "lastControlTime");
            return (Criteria) this;
        }

        public Criteria andCurrentConnectIpIsNull() {
            addCriterion("current_connect_ip is null");
            return (Criteria) this;
        }

        public Criteria andCurrentConnectIpIsNotNull() {
            addCriterion("current_connect_ip is not null");
            return (Criteria) this;
        }

        public Criteria andCurrentConnectIpEqualTo(String value) {
            addCriterion("current_connect_ip =", value, "currentConnectIp");
            return (Criteria) this;
        }

        public Criteria andCurrentConnectIpNotEqualTo(String value) {
            addCriterion("current_connect_ip <>", value, "currentConnectIp");
            return (Criteria) this;
        }

        public Criteria andCurrentConnectIpGreaterThan(String value) {
            addCriterion("current_connect_ip >", value, "currentConnectIp");
            return (Criteria) this;
        }

        public Criteria andCurrentConnectIpGreaterThanOrEqualTo(String value) {
            addCriterion("current_connect_ip >=", value, "currentConnectIp");
            return (Criteria) this;
        }

        public Criteria andCurrentConnectIpLessThan(String value) {
            addCriterion("current_connect_ip <", value, "currentConnectIp");
            return (Criteria) this;
        }

        public Criteria andCurrentConnectIpLessThanOrEqualTo(String value) {
            addCriterion("current_connect_ip <=", value, "currentConnectIp");
            return (Criteria) this;
        }

        public Criteria andCurrentConnectIpLike(String value) {
            addCriterion("current_connect_ip like", value, "currentConnectIp");
            return (Criteria) this;
        }

        public Criteria andCurrentConnectIpNotLike(String value) {
            addCriterion("current_connect_ip not like", value, "currentConnectIp");
            return (Criteria) this;
        }

        public Criteria andCurrentConnectIpIn(List<String> values) {
            addCriterion("current_connect_ip in", values, "currentConnectIp");
            return (Criteria) this;
        }

        public Criteria andCurrentConnectIpNotIn(List<String> values) {
            addCriterion("current_connect_ip not in", values, "currentConnectIp");
            return (Criteria) this;
        }

        public Criteria andCurrentConnectIpBetween(String value1, String value2) {
            addCriterion("current_connect_ip between", value1, value2, "currentConnectIp");
            return (Criteria) this;
        }

        public Criteria andCurrentConnectIpNotBetween(String value1, String value2) {
            addCriterion("current_connect_ip not between", value1, value2, "currentConnectIp");
            return (Criteria) this;
        }

        public Criteria andConnectLocationIsNull() {
            addCriterion("connect_location is null");
            return (Criteria) this;
        }

        public Criteria andConnectLocationIsNotNull() {
            addCriterion("connect_location is not null");
            return (Criteria) this;
        }

        public Criteria andConnectLocationEqualTo(String value) {
            addCriterion("connect_location =", value, "connectLocation");
            return (Criteria) this;
        }

        public Criteria andConnectLocationNotEqualTo(String value) {
            addCriterion("connect_location <>", value, "connectLocation");
            return (Criteria) this;
        }

        public Criteria andConnectLocationGreaterThan(String value) {
            addCriterion("connect_location >", value, "connectLocation");
            return (Criteria) this;
        }

        public Criteria andConnectLocationGreaterThanOrEqualTo(String value) {
            addCriterion("connect_location >=", value, "connectLocation");
            return (Criteria) this;
        }

        public Criteria andConnectLocationLessThan(String value) {
            addCriterion("connect_location <", value, "connectLocation");
            return (Criteria) this;
        }

        public Criteria andConnectLocationLessThanOrEqualTo(String value) {
            addCriterion("connect_location <=", value, "connectLocation");
            return (Criteria) this;
        }

        public Criteria andConnectLocationLike(String value) {
            addCriterion("connect_location like", value, "connectLocation");
            return (Criteria) this;
        }

        public Criteria andConnectLocationNotLike(String value) {
            addCriterion("connect_location not like", value, "connectLocation");
            return (Criteria) this;
        }

        public Criteria andConnectLocationIn(List<String> values) {
            addCriterion("connect_location in", values, "connectLocation");
            return (Criteria) this;
        }

        public Criteria andConnectLocationNotIn(List<String> values) {
            addCriterion("connect_location not in", values, "connectLocation");
            return (Criteria) this;
        }

        public Criteria andConnectLocationBetween(String value1, String value2) {
            addCriterion("connect_location between", value1, value2, "connectLocation");
            return (Criteria) this;
        }

        public Criteria andConnectLocationNotBetween(String value1, String value2) {
            addCriterion("connect_location not between", value1, value2, "connectLocation");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}